<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <!-- 事件委托就是利用事件冒泡，只指定一个事件处理程序，就可以管理某一类型的所有事件。 -->
    <!-- 利用事件冒泡的原理，把事件加在父元素(ul)身上! -->
    <ul id="box">
        <li>111</li>
        <li>222</li>
        <li>333</li>
        <li>444</li>
    </ul>
    <script>
        window.onload = function () {
            var box = document.getElementById("box");
            var li = box.getElementsByTagName('li');
            for (var i = 0; i < li.length; i++) {
                li[i].onclick = function () {
                    alert(123);
                }
            }
        }

        // 利用事件委托来添加事件
        window.onload = function () {
            var box = document.getElementById("box");
            box.onclick = function (ev) {
                var ev = ev || window.event; // 兼容IE
                var target = ev.target || ev.srcElement; // 兼容IE
                if (target.nodeName.toLowerCase() == 'li') {
                    alert(123);
                }
            }
        }
    </script>
</body>

</html>